import api from './config'

// 用户相关API接口
export const userApi = {
  // 用户注册
  register: (userData) => {
    return api.post('/users/register', userData)
  },

  // 用户登录
  login: (loginData) => {
    return api.post('/users/login', loginData)
  },

  // 管理员登录
  adminLogin: (loginData) => {
    return api.post('/admin/admin-login', loginData)
  },

  // 获取用户信息
  getUserProfile: () => {
    return api.get('/users/me')
  },

  // 更新用户信息
  updateUserProfile: (userData) => {
    return api.put('/users/profile', userData)
  },

  // 修改密码
  changePassword: (passwordData) => {
    return api.put('/users/password', passwordData)
  },

  // 验证token有效性
  validateToken: () => {
    return api.post('/users/validate-token')
  },

  // 验证管理员token有效性
  validateAdminToken: () => {
    return api.post('/admin/validate-token')
  },

  // 检查用户名是否可用
  checkUsername: (username) => {
    return api.get(`/auth/check-username?username=${username}`)
  },

  // 检查邮箱是否可用
  checkEmail: (email) => {
    return api.get(`/auth/check-email?email=${email}`)
  },

  // 用户登出
  logout: () => {
    return api.post('/users/logout')
  },

  // 管理员登出
  adminLogout: () => {
    return api.post('/admin/admin-logout')
  },

  // 管理员功能：初始化管理员
  initAdmin: (adminData) => {
    return api.post('/admin/init', adminData)
  },

  // 管理员功能：检查是否有管理员
  checkAdmin: () => {
    return api.post('/admin/check-admin')
  },

  // 管理员功能：获取用户列表
  getUserList: (params = {}) => {
    return api.get('/users/list', { params })
  },

  // 管理员功能：更新用户角色
  updateUserRole: (userId, roleData) => {
    return api.put(`/users/${userId}/role`, roleData)
  },

  // 管理员功能：删除用户
  deleteUser: (userId) => {
    return api.delete(`/users/${userId}`)
  }
}

export default userApi 